package tst

class M {
	
}

M.metaClass.f = {
	println 'hello'
}

def m = new M();


M.metaClass.g = {
	println 'haha'
}

m.f();

M.metaClass.f = {println 'world'};

m.f();

M.metaClass = null;

m.f();
m.g();

def m2 = new M();
m2.f();